package com.oms.app.user.dao;

import java.util.List;
import java.util.Map;

import com.oms.app.user.model.User;
import com.oms.core.dao.IGeneralDAO;

/**
 * @author Loong_Mit
 * @date Sep 1, 2012 6:31:35 PM
 */

public interface IUserDAO extends IGeneralDAO<User, String> {
	
	/**
	 * 通过主键查找实体
	 * @param PK
	 * @return
	 * Administrator
	 */
	public User getUserByPK(int PK);
	
	/**
	 * 按用户名获取用户实体
	 * @param username
	 * @return
	 */
	public User getUserByRegName(String regname);
	
	/**
	 * 注册
	 * @param regForm
	 * @return
	 * Administrator
	 */
	public User register(User regForm);
	
	/**
	 * 添加用户
	 * @param regForm
	 * Administrator
	 */
	public void addUser(User regForm);
	
	/**
	 * 用户修改个人信息
	 * @param userForm
	 * @return
	 * Administrator
	 */
	public User profile(User userForm);
	
	/**
	 * 修改用户
	 * @param userForm
	 * Administrator
	 */
	public void updateUser(User userForm);
	
	/**
	 * 获得用户列表
	 * @param param
	 * @return
	 * Administrator
	 */
	public List<User> getUserList(Map<String, Object> param);
	
	/**
	 * 删除用户实体
	 * @param PK
	 * Administrator
	 */
	public int deleteUesr(int PK);
	
	// 用户设置角色
	public boolean userAddRole(Map map);
	
	// 用户与角色是否存在关联
	boolean isUserRole(Map map);
	
	//根绝用户信息获取 用户角色
	List getUserRole(User user);
	
	//根绝用户信息获取 模块（资源）
	List getUserModule(User user);
	
	//获取所有模块
	List getAllModule();
	
	//删除用户与角色关联关系
	boolean delUserRole(Map map);
	// 获取我的店铺ID 
	int myShopId(int i);
}
